/////////////////////////////////////////////////////////////
//                      C++ Serialization                  //
//                                                         //
//  copyright:   (c) 2011 CPPS                             //
//  authors:     Hikki-Kun                                 //
//  mail:        glrenderable@gmail.com                    //
//                                                         //
//  This program is made available under the terms of      //
//  the MIT License.                                       //
/////////////////////////////////////////////////////////////
#ifndef SERIALIZATION_META_HPP
#define SERIALIZATION_META_HPP

//
//  
//
#define SERIALIZABLE(...)                                       \
  public:                                                       \
    template <typename T>                                       \
    void __SERIALIZE__META__(T &serializator) const {           \
      Serialization::Dispatcher<T> dispatcher(serializator);    \
      dispatcher(__VA_ARGS__);                                  \
    }                                                           \
                                                                \
  public:                                                       \
    template <typename T>                                       \
    void __DESERIALIZE__META__(T &deserializator) {             \
      Serialization::Dispatcher<T> dispatcher(deserializator);  \
      dispatcher(__VA_ARGS__);                                  \
    }                                                           \
  private:


#endif